#ifndef __MOTOR_CMD_TASK_H
#define __MOTOR_CMD_TASK_H

#define MOTOR_SPEED_MAX 5000
#include "main.h"
void FirstWheelControlDone(float leftspeed,float rightspeed);
void SecondWheelControlDone(float leftspeed,float rightspeed); 
void WheelCotrolDone(float Speed1,float Speed2,float Speed3,float Speed4);
 void Task_Init(void);



//extern void Motor_cmd_Task(void const * argument);

typedef struct{
	unsigned int Dart_ShotTimes;
	unsigned int Dart_ShotPos;
	unsigned int Load_Dart;
	unsigned int Wheel_Start;
	unsigned int Shoot_Continue2;
	unsigned int Shoot_Continue21;
	unsigned int Shoot_Continue4;
	float SevoAngleVal;
	unsigned int TestSevo;
	float ShootAngleVal;
	unsigned int TestShoot;
	unsigned int YawChange;
	unsigned int PitchChange;
	float Delta_Wsp;
	unsigned int Remote_Control;
	uint8_t DartLanch_open;
	
	uint8_t ScreenControl;
	uint8_t AloneShoot;
}My;

typedef struct{
	float FirstSpeedLeft;
	float FirstSpeedRight;
	float SecondSpeedLeft;
	float SecondSpeedRight;
	
	
	
}WheelSpeed;

typedef struct{
float In_P;
float In_I;
float In_D;	
float Out_P;
float Out_I;
float Out_D;		
float Yaw_Motor_Speed;
float Yaw_Angle;
float Pitch_Motor_Speed;	

}Pid_Set;

typedef struct{
float v;
float h;
float t;
float s;
float g;
float sinA;
float cosA;	
float sin2A;
float A;

}FeedBackSystem;
extern My Flag;

 void DART_Shoot(void);
 void RemoteControl_Done(void);
#endif
















